package com.zcl.javaClassAndObject.lambda;

/**
 * @Description:
 * @author: zcl
 * @date: 2022/3/4  14:18
 */

/**
 * @Description:
 * @author: zcl
 * @date: 2022/3/4  14:01
 */
public class Program3 {

    /**
     * Lambda表达式精简语法
     * 那件语法注意点：
     *
     * 1、参数类型可以省略。
     *
     * 2、假如只有一个参数，()括号可以省略。
     *
     * 3、如果方法体只有一条语句，{}大括号可以省略。
     *
     * 4、如果方法体中唯一的语句是return返回语句，那省略大括号的同时return也要省略。
     *
     */

    public static void main(String[] args) {
        If1 if1 = () -> System.out.println("这是if1: 无参数无返回值");
        if1.test();


        If2 if2 = a -> System.out.println(a + "单个参数无返回值");
        if2.test(3);


        If3 if3 = (a, b) -> System.out.println(a + b + "两个参数无返回值");
        if3.test(3, 2);


        If4 if4 = () -> 2;
        System.out.println(if4.test());

        If5 if5 = a ->a * a;

        System.out.println(if5.test(3));

        If6 if6 = (a, b) -> a * b;

        System.out.println(if6.test(4, 5));
    }
}